1. Field of the Invention
The present invention relates generally to wireless communication systems and, more particularly, to methods and receiver architectures for decoding spatially multiplexed signals used in Multiple Input Multiple Output (MIMO) wireless communication systems.
2. Description of Related Art
Typically, as shown in FIG. 1, a wireless communication system comprises elements such as a client terminal or mobile station and base stations. Other network devices may also be employed, such as a mobile switching center (not shown). As illustrated, the communication path from the base station (BS) to the client terminal or mobile station (MS) is referred to herein as a downlink (DL) direction, and the communication path from the client terminal to the base station is referred to herein as an uplink (UL) direction. In some wireless communication systems, the MS communicates with the BS in both the DL and UL directions. For instance, such communication is carried out in cellular telephone systems. In other wireless communication systems, the client terminal communicates with the base stations in only one direction, usually the DL. Such communication may occur in applications such as paging.
As shown in FIG. 2, client terminal/MS 12 typically contains a baseband subsystem 16 and a radio frequency (RF) subsystem 18. Memory 20, such as an external memory, is shown connected to the baseband subsystem 16. The baseband subsystem 16 normally includes a micro controller unit (MCU) 22, a signal processing unit (SPU) 24, data converters 26, peripherals 28, power management 30, and memory 32 as shown in FIG. 3. The SPU 24 may be a digital signal processor (DSP), hardware (HW) accelerators, co-processors or a combination of the above. Normally the overall control of the baseband subsystem 16 is performed by software running on the MCU 22 and the processing of signals is done by the SPU 24.
Analog to digital converters (ADCs) convert a received analog signals into digital for the baseband system to process them. Similarly, digital to analog converters (DACs) convert the processed baseband digital signals into analog for transmission. The ADCs and DACs are collectively referred to herein as “data converters” 26. The data converters 26 can either be part of the baseband subsystem 16 or the RF subsystem 18. Depending on the location of the data converters 26, the interface between the two subsystems will be different. The location of the data converters 26 does not alter the overall function of the client terminal.
An RF subsystem 18 normally includes a receiver section and a transmitter section. An RF subsystem 18 for a time division duplex (TDD) communication system is shown in FIG. 4. The receiver section normally may include one or more receivers. The receiver 34 performs the task of converting the signal from RF to baseband. Each receiver may include mixers 36, filters 38, low noise amplifiers (LNAs) 40 and variable gain amplifiers (VGAs) 42. The transmitter section may include one or more transmitters. The transmitter 44 performs the task of converting the baseband signal up to the RF. Each transmitter may include mixers 46, filters 48, and gain control stage 50. In some architectures of the RF subsystem, some of the components may be shared between the receiver section and the transmitter section. As shown, the receiver section 34 and the transmitter section 44 are coupled to an antenna 54 via a transmit/receive switch 56. Synthesizer 58 is also shown as coupling to the receiver section 34 and the transmitter section 44.
The input of each receiver is normally coupled with an antenna and the output of the receiver is normally coupled with ADC. The antenna, receiver, ADC and other related components are collectively referred herein as “receive chain.” FIG. 5 illustrates the elements of a receive chain.
The input of each transmitter is normally coupled with DAC and the output of the transmitter is normally coupled with an antenna through a Power Amplifier (PA) which performs power amplification of the transmit signal. The antenna, PA, transmitter, DAC and other related components are collectively referred herein as “transmit chain.” FIG. 6 illustrates the elements of a transmit chain.
Multiple transmit and/or receive chains are commonly used in many wireless communication systems for different purposes. Multiple transmit and/or receive chains in wireless communication systems offer spatial dimension that can be exploited in the design of a wireless communication system. Communication systems with multiple transmit and/or receive chains offer improved performance. The performance improvement can be in terms of better coverage, higher data rates, reduced SNR requirements, multiplexing of multiple users on the same channel at the same time, or some combination of the above. Different techniques using multiple receive and/or transmit chains are often referred to with different names such as diversity combining (maximum ratio combining, equal gain combining, selection combining, etc.), space-time coding (STC) or space-time block coding (STBC), spatial multiplexing (SM), beamforming and multiple input multiple output (MIMO). Normally wireless communication systems with multiple transmit chains at the transmit entity and multiple receive chains at the receive entity are referred as MIMO systems. As discussed in detail below, aspects of the invention described in this disclosure applies to the Spatial Multiplexing MIMO system, i.e., a wireless communication system uses Spatial Multiplexing technique using multiple transmit chains at the transmit entity and multiple receive chains at the receive entity.
In Spatial Multiplexing (SM), a high data rate signal is split into multiple lower data rate streams and each lower data rate stream may be transmitted from a different transmit antenna on the same frequency channel. If signals from different transmit antennas arrive at the receiver antennas through sufficiently different spatial propagation paths, the receiver may be able to separate these streams of data, creating parallel channels on the same frequency at the same time. SM is a powerful technique for increasing channel capacity at higher Signal to Noise Ratio (SNR). The maximum number of spatially multiplexed data streams is limited by the minimum of the number of antennas at the transmit entity and the number of antennas at the receive entity. For example, if the number of transmit antennas at the transmit entity is four and the number of receive antennas at the receive entity is two, the maximum number of spatially separated data streams is two.
FIG. 7 illustrates an example of an SM-MIMO wireless communication system with four transmit chains at the transmit entity, for example the base station, and four receive chains at the receive entity, for example the client terminal.
The signal from a transmit chain arrives at all four receive chains through different propagation paths as shown in the FIG. 7. The receive signal at each receive chains may be a combination of signals transmitted from all four transmit chains and the noise as shown in FIG. 7.
The following notation is used in the description that follows. A subscript to a signal name denotes transmit or receive chain number. When there are two subscripts, the first subscript refers to the transmit chain and the second subscript refers to the receive chain. Let Nt denote the number of transmit chains and Nr denote the number of receive chains. For SM the number of parallel data streams that can be supported is equal to the minimum of the number of transmit antennas Nt and the number of receive antennas Nr. Normally a wireless communication system with Nt transmit chains at the transmit entity and Nr receive chains at the receive entity is referred as Nt×Nr communication system.
Wireless communication systems use different modulation techniques such as Quadrature Phase Shift Keying (QPSK), 16-Quadrature Amplitude Modulation (QAM), 64-QAM, etc. FIG. 8 illustrates a 16-QAM constellation and FIG. 9 illustrates a 64-QAM constellation. The set of all symbols in a given modulation technique is referred as constellation or alphabet. Let the total number of symbols in a constellation be denoted by L and the set of all symbols ak of a constellation be denoted by A={ak, ∀k=0, 1, 2, . . . , L−1}. At a given instant, one symbol that represents the input data at the modulator is selected from the constellation for transmission.
Let the transmitted symbol at a given instant of time from the ith transmit chain be denoted by si for i=0, 1, . . . , (Nt−1). Let the received symbol at a given instant of time at the jth receive chain be denoted by xj for j=0, 1, . . . , (Nr−1). Let the noise at a given instant of time at the jth receive chain be denoted by nj for j=0, 1, . . . , (Nr−1). The symbols si used for transmission may be one of the symbols from the constellation of a selected modulation technique at the transmit entity.
The signal from one transmit antenna arrives at all the receive antennas through different propagation paths. When the physical distances between the antennas are sufficiently large relative to the wavelength of the radio frequency (RF) being used by the wireless communication system, the signals in different paths may undergo independent propagation. In practice, the propagation paths may not necessarily be completely independent but the correlation among various paths may generally be low when the antennas are sufficiently far apart. A Spatial Multiplexing decoder may be able to separate the spatially multiplexed data streams as long as correlation among different propagation paths is small.
Let channel conditions between transmit antenna i and receive antenna j be denoted by hi,j, for i=0, 1, . . . , (Nt−1) and j=0, 1, . . . , (Nr−1).
Mathematically, the relationship between the transmitted symbols, the channel conditions, the noise and the received symbols can be expressed as follows for the case of a wireless communication system with four transmit chains and four receive chains:x0=h0,0s0+h1,0s1+h2,0s2+h3,0s3+n0  (1)x1=h0,1s0+h1,1s1+h2,1s2+h3,1s3+n1  (2)x2=h0,2s0+h1,2s1+h2,2s2+h3,2s3+n2  (3)x3=h0,3s0+h1,3s1+h2,3s2+h3,3s3+n3  (4)
In matrix notation, for the case of Nt transmit chains and Nr receive chains
                    s        =                              [                                          s                0                            ,                              s                1                            ,              …              ⁢                                                          ,                              s                                                      N                    t                                    -                  1                                                      ]                    T                                    (        5        )            
                    x        =                              [                                          x                0                            ,                              x                1                            ,              …              ⁢                                                          ,                              x                                                      N                    r                                    -                  1                                                      ]                    T                                    (        6        )            
                    n        =                              [                                          n                0                            ,                              n                1                            ,              …              ⁢                                                          ,                              n                                                      N                    r                                    -                  1                                                      ]                    T                                    (        7        )            
                    H        =                  [                                                                      h                                      0                    ,                    0                                                                                                                                                                              h                                      1                    ,                    0                                                                              …                                                              h                                                                                    N                        t                                            -                      1                                        ,                    0                                                                                                                        h                                      0                    ,                    1                                                                                                                                                                              h                                      1                    ,                    1                                                                                                                                                                              h                                                                                    N                        t                                            -                      1                                        ,                    1                                                                                                                                                                                    ⋮                                                                                                                          ⋱                                            ⋮                                                                                      h                                      0                    ,                                                                  N                        r                                            -                      1                                                                                                                                                                                                  h                                      1                    ,                                                                  N                        r                                            -                      1                                                                                                  …                                                              h                                                                                    N                        t                                            -                      1                                        ,                                                                  N                        r                                            -                      1                                                                                                    ]                                    (        8        )            x=Hs+n  (9)
Normally, the receiver of the wireless communication system needs to estimate the channel conditions to process the received signals. Wireless communication systems use different techniques to enable the receiver to obtain estimates of channel conditions for different propagation paths between transmit and receive antenna pairs. Some techniques include embedding pilot symbols and/or training symbols along with the data symbols. Receivers normally use the embedded pilot symbols and/or training symbols to estimate the channel conditions. Some receivers may also use the previously decoded data symbols to estimate the channel conditions in addition to the pilot symbols and/or training symbols. In general, a receiver may employ combination of some or all of the available information to estimate the channel conditions. The receiver may use any of the algorithms available in the existing literature to estimate the channel conditions. It is understood that the receiver obtains the required estimates of the channel conditions through techniques known in literature or through some other techniques. Let the estimated channel conditions between transmit antenna i and receive antenna j is denoted by ĥ1, for i=0, 1, . . . , (Nt−1) and j=0, 1, . . . , (Nr−1) and H denotes the matrix of estimated channel conditions.
At the receive entity, the received symbols vector x is known. The channel conditions matrix H may be approximated by the estimated channel conditions matrix Ĥ. Based on these two known matrices, the transmitted symbols vector s may be estimated as ŝ by solving the linear system of equations in EQ. 9.
The system of equations represented by EQ. 9 needs to be solved at a rate proportional to the data rate of the wireless communication system. Normally SM-MIMO is used to achieve high data rate in wireless communication systems. Hence the system of equations represented in EQ. 9 needs to be solved at a high rate. For example, in a broadband wireless communication system that offers data rate of 16 mega bits per second over the air using 4×4 SM-MIMO with 16-QAM modulation, EQ. 9 needs to be solved about one million times per second. Therefore, in general the complexity of the SM decoder is high. Further, the complexity of SM decoder normally grows exponentially as a function of the number of transmit chains and receive chains. Therefore, it is crucial to solve the system of equations represented by EQ. 9 in an efficient manner so that the wireless communication system can operate in real time with less processing resources and consumes less power.
There are different optimal and sub-optimal decoders described in the literature to solve the system of equations represented by EQ. 9. The Maximum Likelihood Decoder (MLD) is an optimal decoder for SM. Although MLD provides, theoretically, a best achievable decoding performance, its complexity and processing requirements are normally very high even for the common wireless communication systems such as 2×2 or 4×4 SM-MIMO with 16-QAM or 64-QAM.
QR Decomposition (QRD) in conjunction with M-algorithm, referred as QRD-M decoder, is one of the commonly used sub-optimal SM decoders. A QRD-M sub-optimal SM decoder provides decoding performance close to that of the optimal SM decoder such as MLD, but requires reduced complexity and processing requirements. The reduced complexity and reduced processing requirements of QRD-M sub-optimal SM decoder makes it better suited for practical implementation. The QRD-M decoder used for SM is referred herein as a QRD-M SM decoder.